package threadBaseUse;

/**
 * @description: 测试线程的方法
 * @author: Liuwanqing
 * @date: 2022-10-14 17:20
 */
public class ThreadMethod {
    public static void main(String[] args) throws InterruptedException {
        testThread t = new testThread();
        t.setName("LiuWanqing");
        t.setPriority(Thread.MIN_PRIORITY);
        t.start();

        // 主线程打印 5次 ”不够，还饿“，终止子线程的休眠
        for (int i=0; i<5; i++){
            Thread.sleep(1000);
            System.out.println("不够，还饿");
        }
        System.out.println(t.getName() + " 的优先级是" + t.getPriority());
        t.interrupt(); // 执行到这里，中断 t 的休眠
    }
}

class testThread extends Thread {
    @Override
    public void run() {
        for(int i=0; i<100; i++){
            System.out.println(Thread.currentThread().getName() + " 在吃包子~~ " + i);
            try {
                System.out.println(Thread.currentThread().getName() + " 在休眠中~~");
                Thread.sleep(10 * 1000); // 休眠 3 秒
            } catch (InterruptedException e) {
                // 线程执行到 interrupt 方法 ，会抛出一个异常，这里可加入自己的业务代码
                System.out.println(Thread.currentThread().getName() + " 被 interrupt 了");
            }
        }
    }
}